System and method for personal floating video

ABSTRACT

Systems and methods for providing a user with a floating video of a subject are provided. The systems and methods generate a floating video by removing background pixels of a primary video using a background image/video, where the user records the primary video and the background image/video. The floating video may be generated on a recording device of the user and/or a remote server. Further, the user and/or the remote server may host the floating video.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/879,733 filed Sep. 10, 2010, now assigned U.S. Pat. No. 9,165,605,which claims priority from and benefit of the filing date of U.S.provisional application Ser. No. 61/241,580 filed Sep. 11, 2009, andclaims priority from and benefit of the filing date of U.S. provisionalapplication Ser. No. 61/330,637 filed May 3, 2010, and the entiredisclosure of each of said prior applications is hereby incorporated byreference into the present specification.

BACKGROUND

The present exemplary embodiments relate generally to systems andmethods for removing pixels. They find particular application inconjunction with producing universally formatted floating video that canbe applied, with other components, to websites, web pages, socialnetworking pages, emails and other social mediums. However, it is to beappreciated that the present exemplary embodiment is also amenable toother like applications.

A floating video is a video in which the background of the video isremoved, thereby giving the foreground of the video the effect offloating. Generally, a subject of focus, such as an object or a person,demarcates between the background and the foreground of the video.Additionally, in certain instances, the floating video is overlaid on anew background. A common usage of floating video is in weatherforecasts, wherein meteorologists present the weather in front of aweather map.

Traditional solutions for generating a floating video rely upon chromakey compositing in which a color (or a small color range) is removedfrom a video. However, these solutions depend upon a studio toprofessionally shoot the video in front of a “green screen” or a “bluescreen” and to edit the video to remove the background. Naturally, suchsolutions tend to prove costly, whereby they're not readily available tothe common person.

In view of the deficiencies noted above, there exists a need forimproved systems and/or methods for bringing floating video to themasses. The present application contemplates such new and improvedsystems and/or methods which may be employed to mitigate theabove-referenced problems and others.

BRIEF DESCRIPTION

In accordance with one aspect of the present application, a method isillustrated for providing a user with a floating video of a subject. Themethod receives a background image and/or video of a static singlecolored background from the user over a communications network.Similarly, the method receives a primary video of the subject from theuser over the communications network, where the subject is disposed infront of the static background. A processor removes the background ofthe primary video to define a subject video, where the background isremoved using the background image and/or video, and the subject videois stored.

In accordance with another aspect of the present application, a methodis illustrated for providing a user with a floating video of a subject.The method receives a webcam image of a user placed in front of staticsingle colored background over a communications network. The user thenselects the single color range that the method should remove. Aprocessor removes the selected color in real time. The user can thenwatch and record their video with the selected background masked out ofthe video.

In accordance with another aspect of the present application, a methodis illustrated for providing a user with a floating video of a subject.The method records a background image and/or video of a staticbackground. Similarly, the method records a primary video of thesubject, wherein the subject is disposed in front of the static singlecolored background. A processor removes the background of the primaryvideo to define a subject video, wherein the background is removed usingthe background image and/or video, and the subject video is stored.

In accordance with another aspect of the present application, a systemis provided for providing a user with a floating video of a subject. Thesystem includes an imaging device, a processor and a storage medium. Thedigital video recorder records a background image and/or video of astatic background. Further the imaging device records a primary video ofthe subject, wherein the subject is disposed in front of the staticbackground. The processor removes the background of the primary video todefine a subject video, wherein the background is removed using thebackground image and/or video, and the subject video is stored on thestorage medium.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a method for providing a user with a floating videoand/or hosting the floating video for the user;

FIG. 2 illustrates a method for providing a user with a floating videoand/or hosting the floating video for the user; and

FIG. 3 illustrates a system employing the method of FIG. 1 and/or themethod of FIG. 2.

FIGS. 4, 5 and 6 use computer screen shots to illustrate a personalfloating video processing method in accordance with one embodiment ofthe present development.

DETAILED DESCRIPTION

The systems and methods, discussed in detailed hereafter, pertain tosystems and methods for producing universally formatted floating video.Namely, said systems and methods strip a fixed single colored backgroundfrom a video, thereby leaving a floating subject, such as an object or aperson, that can be floated on top of any webpage, profile page, eCard,emails, and the like.

With reference to FIG. 1, a method for providing a user with a floatingvideo and/or hosting the floating video for the user is illustrated. Ina step S1, using any suitable digital video recorder, a user records(captures) a background digital image (one frame of pixels) or video (atleast two frames of pixels) of any desired static single coloredbackground such as a wall, a sheet or the like. Also in step S1, theuser records a primary digital video of a person or object or othersubject in front of the static background. The digital video recordercan be a cellular phone digital video recorder such as an Apple iPhoneor other cell phone video camera, a Flip or other brand digital videorecorder or the like. Unlike known “green screen” or “blue screen”methods, the static background need not be any particular color and neednot be smooth and homogenous, it does however, need to be singlecolored. Instead, the static background can be any wall or any otherdesired static location, but it is preferred that a static (non-moving)background color be selected that will contrast with the subject tofacilitate subsequent image processing as described herein. Thebackground image/video and primary video are typically captured andstored as successive frames of a single video file but they could bediscrete files that are captured and stored separately. Under theformer, the first few seconds, for example, can be stripped from thesingle video file to define the background image/video.

In a step S2, an administrator receives the background image/video andthe primary video, collectively referred to herein as “input data,” fromthe user. Preferably, the administrator receives the input data via acommunications network, such as the Internet. In an optional step S2 a,the input data is converted to a desired video format for furtherprocessing.

In a step S3, in exchange for a fee paid by the uploading user or by anadvertiser or by a third party website, technology sites, or companiesthat have licensed the technology, the administrator processes theprimary video file received in step S2 to identify and modify at least amajority of background pixels (i.e., pixels that represent the staticbackground but not the subject) in all or at least a select group of theframes of the primary video data file. Backgrounds pixels are identifiedas those pixels having color values within a subset of color valueswithin the background image/video. Hence, backgrounds pixels areidentified using the background image/video under the assumption thatthe background image/video includes all, or substantially all, thevarying background color values created by different lightingcircumstances. To adjust between performance and quality, the user mayselect how granular pixel comparisons are. In this “background removal”operation, the identified background pixels are then “removed” in thesense that they are modified so as to be defined as being completely orpartially “clear” or “transparent” in terms of color andtransparency/opacity or are otherwise modified to have a desired colorand/or transparency/opacity. For example, the alpha value for eachbackground pixel may be set to zero. In an alternative “backgroundremoval” operation, the non-background (subject) pixels that define thesubject (the inverse of the static background) are identified andextracted for input to a new video file that has a transparentbackground or other background of desired color andtransparency/opacity. In either case, a “subject video” file (alsoreferred to as a “floating video”) is derived from the backgroundremoval operation, wherein the subject video comprises a plurality offrames of pixels that represent the subject (“subject pixels”) setagainst a new background that is completely clear or transparent or thathas another desired color and transparency/opacity. As used herein, apixel is deemed to be fully or partially “transparent” if it does notfully obscure or replace underlying pixel data on a video monitor whenit is rendered to the same location on the video monitor so that itallows the underlying pixel data to be perceived by a user. A completelyclear or transparent background pixel will not affect the underlyingpixel data and/or the manner in which it is perceived by a viewer of thevideo monitor, while a partially transparent background pixel willdiffuse or partially obscure the underlying pixel data as it isperceived by a viewer of the video monitor. The background removaloperation could also comprise deleting the identified background pixelssuch that the subject video (floating video) is defined only by theremaining subject pixels (and any residual background pixels notidentified and deleted).

In an optional step S3 a, the subject video or floating video with itstransparent or otherwise modified background is converted to a desiredformat such as Flash or html5.

In a step S4, the administrator stores the subject video file.

In one embodiment, a step S4 a is performed in which the administratortransmits the subject video file to the user for the user's own use asdesired, e.g., by a line of html produced by the method instantly, bye-mail or by selected file format.

In another embodiment a user can download an advanced H-264 desktopversion of the application on to their pc. With this method the video isrecorded, processed and stored on the user's pc. This application is foruse in professional fields where conversion from a desktop video to anonline video is required for distribution over the internet.

In another embodiment, a step S4 b is additionally or alternativelyperformed in which the administrator receives a request from anapplication or website to stream or download or otherwise transmit thesubject video file for playback by the website or application. This canbe a request from a website such as a MySpace page or a media player oran application such as a Facebook application or a request from apersonal website, or other process or application. A step S4 c isperformed in which the administrator streams or downloads or otherwisetransmits the subject video to the requesting application or webpageover the internet or other network. In one example, the administratorprovides the user that created the input data with an address and otherrequired information for requesting playback of the subject video, whichis stored by the administrator, and the step S4 b comprises receiving arequest that uses the subject video address.

The step S4 c is performed according to user selected playback options,if any. In the illustrated embodiment, as part of the step S2, theadministrator receives user input for desired playback options, and someor all of the user-requested options can be pay-options in which theuser must pay the administrator to implement the options. In oneexample, a user can choose to implement cookies or other tags that trackstreaming or other transmission of the subject video. In such case, theuser can choose to implement a cookie that enables one of a plurality ofdifferent stored subject videos to be transmitted in step S4 c,depending whether the request received in step S4 b is a new request ora repeat request. In the case where a website initiates a request forstreaming playback of the subject video in response to a user visitingthe website, this could prevent a user being subjected to a secondperformance of the same subject video. Other options available to a userin step S2 include the ability to control the placement and size of thesubject video during streaming/playback, the ability to embed linksand/or advertising in the subject video file, and the ability to controlthe extent to which the background pixels are modified in the inputdata.

The above-described process enables a system in which users create theinput data and pay the administrator to derive the subject video datafrom the input data file. The user also pays to enable cookies and otherstreaming playback options such as controlling size and placement of thefloating video during its stream/playback. In one example, the user paysthe administrator for each stream or other transmission of the floatingvideo from the administrator to a requesting website or application.

With reference to FIG. 2, a method for providing a user with a floatingvideo is illustrated. In a step S1, using any suitable digital videorecorder, a user records (captures) a background digital image (oneframe of pixels) or video (at least two frames of pixels) of any desiredstatic background such as a wall, a sheet or the like. Also in step S1,the user records a primary digital video of a person or object or othersubject in front of the static background. The digital video recordercan be a cellular phone digital video recorder such as an Apple iPhoneor other cell phone video camera, a Flip or other brand digital videorecorder, a PC camera such as a webcam or the like. Unlike known “greenscreen” or “blue screen” methods, the static background need not be anyparticular color and need not be smooth and homogenous. Instead, thestatic background can be any single colored wall or any other desiredsingle colored static location, but it is preferred that a static(non-moving) background be selected that will contrast with the subjectto facilitate subsequent image processing as described herein. Thebackground image/video and primary video are typically captured andstored as successive frames of a single video file but they could bediscrete files that are captured and stored separately. Under theformer, the first few seconds, for example, can be stripped from thesingle video file to define the background image/video. In one exampleof the present development, a background is deemed to be “singlecolored” if its color and luminance are substantially uniform such thata human observer would deem the background to be a single color.

In an optional step S1 a, the background image/video and/or the primaryvideo are converted to a desired video format for further processing.

In a step S2, the user processes the primary video file recorded in stepS1 to identify and modify at least a majority of background pixels(i.e., pixels that represent the static background but not the subject)in all or at least a select group of the frames of the primary videodata file. Backgrounds pixels are identified as those pixels havingcolor values within a subset of color values within the backgroundimage/video. Hence, backgrounds pixels are identified using thebackground image/video under the assumption that the backgroundimage/video includes all, or substantially all, the varying backgroundcolor values created by different lighting circumstances. To adjustbetween performance and quality, the user may select how granular pixelcomparisons are. In this “background removal” operation, the identifiedbackground pixels are then “removed” in the sense that they are modifiedso as to be defined as being completely or partially “clear” or“transparent” in terms of color and transparency/opacity or areotherwise modified to have a desired color and/or transparency/opacity.For example, the alpha value for each background pixel may be set tozero. In an alternative “background removal” operation, thenon-background (subject) pixels that define the subject (the inverse ofthe static background) are identified and extracted for input to a newvideo file that has a transparent background or other background ofdesired color and transparency/opacity. In either case, a “subjectvideo” file (also referred to as a “floating video”) is derived from thebackground removal operation, wherein the subject video comprises aplurality of frames of pixels that represent the subject (“subjectpixels”) set against a new background that is completely clear ortransparent or that has another desired color and transparency/opacity.As used herein, a pixel is deemed to be fully or partially “transparent”if it does not fully obscure or replace underlying pixel data on a videomonitor when it is rendered to the same location on the video monitor sothat it allows the underlying pixel data to be perceived by a user. Acompletely clear or transparent background pixel will not affect theunderlying pixel data and/or the manner in which it is perceived by aviewer of the video monitor, while a partially transparent backgroundpixel will diffuse or partially obscure the underlying pixel data as itis perceived by a viewer of the video monitor. The background removaloperation could also comprise deleting the identified background pixelssuch that the subject video (floating video) is defined only by theremaining subject pixels (and any residual background pixels notidentified and deleted).

In an optional step S2 a, the subject video or floating video with itstransparent or otherwise modified background is converted to a desiredformat such as Flash or html5.

In a step S3, the user stores the subject video file.

In one embodiment, a step S3 a is performed in which the user isprovided with the subject video for the user's own use as desired. Forexample, the user may be provided with a local file path to the subjectvideo.

In another embodiment, in exchange for a fee paid by the user or by anadvertiser or by a third party website, technology sites, or companiesthat have licensed the technology, a step S3 b is additionally oralternatively performed in which the user uploads the subject video orfloating video with its transparent or otherwise modified background toa media server of an administrator for hosting. The media server may,for example, be a Flash Media Server. As part of step S3 b, the user mayalso specify playback options, where some or all of the user-requestedoptions can be pay-options in which the user must pay an administratorof the media server to implement the options. In one example, the usercan choose to implement cookies or other tags that track streaming orother transmission of the subject video. Other options available to theuser include the ability to control the placement and size of thesubject video during streaming/playback, the ability to embed linksand/or advertising in the subject video file, and the ability to add awatermark to the subject video.

Thereafter, a step S3 c is performed in which the user receives a codesnippet and/or link to embed the uploaded subject video file in awebpage, profile page, eCard, emails, and the like. For example, theuser could receive an html code snippet. The code snippet and/or linkallows an application or website to stream or download or otherwiserequest the subject video file from the media server for playback by thewebsite or application. The code snippet and/or link can be embeddedwithin a website such as a MySpace page or a media player or anapplication such as a Facebook application or a request from a personalwebsite, or other process or application.

The above-described process enables a system in which users create thesubject video or floating video to pay the administrator to host thesubject video. Users may also pay to enable cookies and other streamingplayback options such as controlling size and placement of the floatingvideo during its stream/playback. In one example, the user pays theadministrator for each stream or other transmission of the floatingvideo from the administrator to a requesting website or application.

In another embodiment, a user can download an advanced H-264 desktopversion of the application on to their pc. With this method the video isrecorded, processed and stored on the user's pc. This application is foruse in professional fields where conversion from a desktop video to anonline video is required for distribution over the Internet.

In view of the discussion heretofore, it should be appreciated themethod of FIG. 1 concerns a server based method of generating thesubject video and the method of FIG. 2 concerns a user based method ofgenerating the subject video. In other words, the method of FIG. 2generally takes place on a user device, such as a mobile phone, and themethod of FIG. 1 generally takes place on a server remote from the userdevice. Further, although not illustrated, in situations where the userdevice lacks sufficient resources to generate the subject video in atimely manner, the method of FIG. 2 can be augmented with the method ofFIG. 1 to timely generate the subject video. Namely, the backgroundimage/video and the primary video recorded on the user device can bepassed to a remote server for processing should it be determined thatthe user device lacks sufficient resources to generate the subjectvideo. Thereafter, the subject video can be returned to the user devicefor continuation along the method of FIG. 2 or left on the remote serverfor continuation along the method of FIG. 1.

With reference to FIG. 3, a system 300 employing the method of FIG. 1and/or the method of FIG. 2 is illustrated. The system includes a webserver 302, a user device 304 and a remote server 306 all interconnectedby a communications network 308. The communications network 308 is, forexample, the Internet and/or a local area network, and the web server302 is a traditional web server running Apache, IIS or the like. Incertain embodiments, the web server 302 may alternatively oradditionally be an application server. The system further includes adigital video recorder 310, where the digital video recorder can be acellular phone digital video recorder such as an Apple iPhone or othercell phone video camera, a Flip or other brand digital video recorder orthe like. As shown, the user device 304 and the digital video recorder310 are operatively connected such that recordings from the digitalvideo recorder 310 can be transferred to the user device 304. This maybe by way of USB, firewire, Bluetooth, wifi, etc. However, inalternative embodiments, the user device 304 and the digital videorecorder 310 may be one and the same.

The user device 304 and remote server 306 include a processor 306, anetwork interface 308 and a storage medium 310. Suitably, the processor306 is a microprocessor, microcontroller, graphic processing unit (GPU),etc. and the storage medium 310 is a magnetic disk or other magneticstorage medium, an optical disk or other optical storage medium, arandom access memory (RAM) or other electronic memory device or chip orset of operatively interconnected chips, a network server from whichdata may be retrieved via the Internet or a local area network, or soforth. Further, the network interface 308 communicates with otherdevices connected to the communications network 308, such as the remoteserver 308/user device 304 and the web server 302. Although only asingle user device 304 and/or a single remote server 306 are shown, itis to be appreciated that the user device and/or the remote server maybe distributed across a plurality of devices and/or a plurality ofservers.

In certain embodiments, the user device 304, in conjunction with thedigital video recorder 310, carries out the method of FIG. 2. Namely, auser of the user device 304 records a background image and/or video of astatic background using the digital video recorder 310. Likewise, theuser records a primary video of a subject, wherein the subject isdisposed in front of the static background. Thereafter, the user device304 uses a processor 312 to remove the background of the primary videoto define a subject video. The subject video is then stored on a storagemedium 314 and optionally sent to the remote server 306 for hosting overthe communications network 308 via the network interface 316. Assumingthe subject video is sent to the remote server 306, the user device 304receives, from the remote server 306, code and/or a link to embed thesubject video in their website suitably hosted by the web server 302.

In other embodiments, the remote server 306, in conjunction with thedigital video recorder 310 and the user device 304, carries out themethod of FIG. 1. Namely, a user of the user device 304 records abackground image and/or video of a static background using the digitalvideo recorder 310. Likewise, the user records a primary video of thesubject, wherein a subject is disposed in front of the staticbackground. Thereafter, the user device 304 transfers the backgroundimage and/or video and the primary video, collectively referred toherein as “input data,” to the remote server 306 over the communicationsnetwork 308 via the network interface 316. The remote server 306receives the input data via a network interface 318 and uses a processor320 to remove the background of the primary video to define a subjectvideo. The subject video is then stored on a storage medium 322 andoptionally sent to the user device 304 via the communications network308. Additionally, or in the alternative, the subject video is hostedfor the user of the user device 304 so as to stream the subject video torequesting websites such as a website hosted by the web server 302.

In other embodiments, the user device 304 and remote server 306coordinate with each other to carry out a hybrid of the method of FIG. 2and the method of FIG. 1. Namely, in situations where the user device304 has sufficient resources to generate the subject video, the userdevice 304 carries out the method of FIG. 2. However, in situationswhere the user device lacks sufficient resources to generate the subjectvideo, the background image/video and the primary video recorded on theuser device 304 are passed to the remote server 306 for processing inaccordance with the method of FIG. 1.

In accordance with one embodiment, the method includes processing(either locally or on a remote server) a webcam video stream of a userplaced in front of static single colored background. The webcam videostream is processed in real-time by a local or remote application A inaccordance with the development described herein, and the result isdisplayed to the user as a webcam video stream in real-time on theuser's computer. As shown in FIG. 4, a user selects box T1 to initiate a“Define Background” step in which the user uses his/her own computer andwebcam to display video V of a subject S in front of a background B of acertain color (the color is indicated by the particular cross-hatching).The webcam video V is continuously displayed to the user in real-time asshown in a window WV.

Referring also to FIG. 5, as the webcam video V is displayed inreal-time, the user can select the box B1 “Show Removal Area” whichcauses the application to use a color or other indicia to “flag” orindicate in the window WV which regions of the video V will be removedbased upon the color of that region. For example, a bright color,shading, or other indicia (indicated by bi-directional cross-hatching inFIG. 5) is then added to the video V to flag or show all regions thereofthat will be removed (while the video continues to stream). The userthen selects any object in the video of a certain color (e.g., thebackground B), and the video is processed in real-time to show whichparts will be removed (by coloring the parts to be removed a certaincolor or by otherwise or otherwise flagging or changing the appearanceof the parts to be removed). The color being removed from the video isdisplayed in the box B2 and is labeled “Color Removed” and the “ColorRemoved” box B2 is updated as the user selects a different coloredobject in the video V. FIG. 5 shows that the user has selected the boxB1 and has also selected the background B as the color to be removed,which has caused the application to “flag” or change the color of thebackground B in the video V to a conspicuous color (bright pink orbright green, etc.—indicated in FIG. 5 by the bidirectionalcross-hatching of the background B) to indicate that the background Bwill be removed when the webcam video stream is ultimately processedaccording to the present development. The video V including the flaggingis sometimes referred to herein as the altered video.

If the user is satisfied with the areas to be removed from the video Vas he/she is viewing the video in real-time (e.g., as shown in FIG. 5),the user can move to the next step of recording the video by selectingbox T2.

FIG. 6 shows an example that is similar to FIG. 5, but where the userwill not be satisfied. In this case, the user's left arm has beenflagged for removal from the video V due to the fact that the color ofhis/her left arm has been deemed to be similar to the background B bythe application A. In such case, the user can change his/her appearance(e.g., change his/her shirt), change the lighting, change the backgroundcolor, etc. Alternatively/additionally, the user can change the colorremoval processing settings by selecting the box B3 “Adjust Settings” sothat the user is presented with multiple image processing parametersthat can be adjusted by slider bars or the like (e.g., colorsensitivity) until the user is satisfied with the resulting video V andthe user then selects box T2 to begin the recording process.

When the user selects the “Record Video” box T2, the user is presentedwith “RECORD” “STOP RECORD” “PREVIEW” boxes (not shown) so that the usercan record the video V (in one or more stages) while simultaneouslyviewing same in the window WV, preview the result, and re-record ifdesired. During recording and any preview playback, the areas to beremoved are flagged with color or otherwise flagged as noted above sothat the user can see in real time (or during preview playback) whichparts of the video V will be/are being removed.

After recording is complete, the user selects the box T3 to embed thevideo in his/her website. The user is presented with a code snippet asdescribed above to accomplish the video embedding. The user is alsopresented with a chance to preview the video in a test webpage.

In view of the discussion heretofore, in some embodiments, the exemplarymethods, the systems employing the same, and so forth, of the presentinvention are embodied by a storage medium storing instructionsexecutable (for example, by a digital processor) to implement thedetermination of image anchor templates. The storage medium may include,for example: a magnetic disk or other magnetic storage medium; anoptical disk or other optical storage medium; a random access memory(RAM), read-only memory (ROM), or other electronic memory device or chipor set of operatively interconnected chips; an Internet server fromwhich the stored instructions may be retrieved via the Internet or alocal area network; or so forth.

Further, it will be appreciated that various of the above-disclosed andother features and functions, or alternatives thereof, may be desirablycombined into many other different systems or applications. Also thatvarious presently unforeseen or unanticipated alternatives,modifications, variations or improvements therein may be subsequentlymade by those skilled in the art which are also intended to beencompassed by the following claims.

1. A method for providing a user with a floating video of a subject,said method comprising: receiving from a user a primary video of asubject located in front of a single colored static background, whereinsaid single colored static background has a color not known prior tosaid primary video being received from said user, and wherein said colorof said single colored static background is not limited to anypredetermined color; processing said primary video to identify abackground region defined by background pixels having said color of saidsingle colored static background; creating a floating video in whichsaid subject is perceptible and said single color static background isat least substantially imperceptible based upon substantially all ofsaid identified pixels defining said background region being set totransparent.
 2. The method as set forth in claim 1, wherein saidfloating video is created by modifying said primary video.
 3. The methodas set forth in claim 1, wherein said floating video is created byextracting a subject portion of said primary video that defines saidsubject and using said extracted subject portion to create a new videofile comprising said floating video.
 4. The method as set forth in claim1, further comprising a step of receiving at least one background imageof said single colored static background without said subject prior toreceiving said primary video, wherein said background image has a singlecolor that corresponds to said color of said single colored staticbackground.
 5. A method for providing a user with a floating video of asubject, said method comprising: receiving from a user a primary videoof a subject located in front of a colored static background, whereinsaid colored static background has a single color not known prior tosaid primary video being received from said user, and wherein saidsingle color of said colored static background is not limited to anypredetermined color; for a plurality of frames of the primary video,identifying all pixels defined with said single color of said staticbackground and setting all said identified pixels having said singlecolor to be transparent to define a floating video comprising saidplurality of frames of said primary video in which said subject isperceptible and said single color static background is substantiallyimperceptible based upon substantially all of said pixels defining saidsingle color static background being set to transparent.
 6. The methodas set forth in claim 5, further comprising a step of receiving at leastone background image of said colored static background prior toreceiving said primary video, wherein said single color is determined bythe color of said background image.
 7. The method as set forth in claim5, wherein said step of determining a color range comprises receivinginput from a user that selects an area of said colored static backgroundin said primary video.